FPGAs are increasingly being used for applications that require high-speed data communications, such as machine learning, networking acceleration, and storage acceleration. FPGAs may include high frequency and high throughput interfaces, but the internal capabilities of the FPGA are lacking for handling high throughputs due to the lower operating frequencies of the user logic at the FPGA core.
For example, a peripheral component interconnect express (PCIe) may operate at 500 gigabits per second and a graphics double data rate type six synchronous dynamic random-access (GDDR6) memory may have interfaces supporting 4 terabits per second. On the other hand, the FPGA may operate at 700 Megahertz, making it difficult to provide functionality for PCIe and GDDR6 memories at the FPGA.